package com.zkthink.ceres.finance.service;

import com.zkthink.base.R;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.finance.dto.BankDTO;
import com.zkthink.ceres.finance.dto.CollectingAccountSaveDTO;
import com.zkthink.ceres.finance.dto.CollectingAccountUpdateDTO;
import com.zkthink.ceres.finance.entity.CollectingAccount;
import com.zkthink.ceres.sms.dto.VerificationCodeDTO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 收款帐户表
 * </p>
 *
 * @author vivi.huang
 * @date 2020-05-25
 */
public interface CollectingAccountService extends SuperService<CollectingAccount> {

    /**
     * 绑定收款帐户
     * @param collectingAccountSaveDTO
     * @return
     */
    R<Boolean> bindingAccount(CollectingAccountSaveDTO collectingAccountSaveDTO);

    /**
     * 更换收款帐号
     * @param collectingAccountUpdateDTO
     * @return
     */
    R<Boolean> changeAccount(CollectingAccountUpdateDTO collectingAccountUpdateDTO);

    /**
     * 解除绑定收款帐号
     * @param verificationCodeDTO
     * @return
     */
    R<Boolean> cancelBindingAccount(VerificationCodeDTO verificationCodeDTO);

    /**
     * 银行列表
     * @return
     */
    R<List<BankDTO>> findBankList();
}
